# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：网易云音乐CacheMusicChange
#   文件名：03_uc_to_mp3.py
# 开发时间：2021/3/29 18:44

"""
案例：读取网易云音乐缓存uc文件，并转换为mp3文件
"""

# uc文件路径+文件名
uc_name = 'cache.uc'
# mp3文件路径+文件名
mp3_name = 'music.mp3'

# 打开uc_name指向的uc文件，并赋值给文件对象uc_file
with open(uc_name, 'rb') as uc_file:
    # 打开(新建)mp3_name指向的mp3文件，并赋值给文件对象mp3_file
    with open(mp3_name, 'wb') as mp3_file:
        # 读取uc_file的二进制内容，保存到uc_content
        uc_content = uc_file.read()
        # 新建一个空的字节类型赋值给mp3_content,用以保存转换后的uc_content
        mp3_content = bytearray()
        # 将从uc_content中读取到的字节数据逐个进行0xa3异或运算
        for byte in uc_content:
            byte ^= 0xa3
            # 异或之后，添加该字节到mp3_content
            mp3_content.append(byte)
        # 将mp3_content里的数据写入到mp3_file指向的文件中
        mp3_file.write(mp3_content)
        # 写入完成时
        print('uc file transform to mp3 file, done!')